Scheduling may include a method by which tasks are assigned to resources that complete the tasks. The tasks may include virtual computational elements, such as threads, processes, or data flows, which are in turn scheduled onto hardware resources, such as processors, network links, or expansion cards.